<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::LimMemQuasiNewtonUpdater Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  extensions: ["tex2jax.js"],
  jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.15</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classIpopt_1_1LimMemQuasiNewtonUpdater.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1LimMemQuasiNewtonUpdater-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">Ipopt::LimMemQuasiNewtonUpdater Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Implementation of the <a class="el" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information.">HessianUpdater</a> for limit-memory quasi-Newton approximation of the Lagrangian Hessian.  
 <a href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::LimMemQuasiNewtonUpdater:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1LimMemQuasiNewtonUpdater__inherit__graph.png" border="0" usemap="#aIpopt_1_1LimMemQuasiNewtonUpdater_inherit__map" alt="Inheritance graph"/></div>
<map name="aIpopt_1_1LimMemQuasiNewtonUpdater_inherit__map" id="aIpopt_1_1LimMemQuasiNewtonUpdater_inherit__map">
<area shape="rect" title="Implementation of the HessianUpdater for limit&#45;memory quasi&#45;Newton approximation of the Lagrangian He..." alt="" coords="5,249,212,294"/>
<area shape="rect" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information." alt="" coords="25,174,192,201"/>
<area shape="poly" title=" " alt="" coords="111,217,111,249,106,249,106,217"/>
<area shape="rect" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects." alt="" coords="18,81,199,126"/>
<area shape="poly" title=" " alt="" coords="111,141,111,173,106,173,106,141"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="19,5,198,33"/>
<area shape="poly" title=" " alt="" coords="111,49,111,80,106,80,106,49"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab6b064e5eff0e16c4aa83983070f20a6" id="r_ab6b064e5eff0e16c4aa83983070f20a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ab6b064e5eff0e16c4aa83983070f20a6">InitializeImpl</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)</td></tr>
<tr class="memdesc:ab6b064e5eff0e16c4aa83983070f20a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">overloaded from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects.">AlgorithmStrategyObject</a>  <br /></td></tr>
<tr class="separator:ab6b064e5eff0e16c4aa83983070f20a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a195f4bcb6d1c184068e69c97e4b206" id="r_a7a195f4bcb6d1c184068e69c97e4b206"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7a195f4bcb6d1c184068e69c97e4b206">UpdateHessian</a> ()</td></tr>
<tr class="memdesc:a7a195f4bcb6d1c184068e69c97e4b206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the Hessian based on the current information in IpData.  <br /></td></tr>
<tr class="separator:a7a195f4bcb6d1c184068e69c97e4b206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors / Destructors</div></td></tr>
<tr class="memitem:a8ea42c302bc7a9cd98835e06d1395449" id="r_a8ea42c302bc7a9cd98835e06d1395449"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a8ea42c302bc7a9cd98835e06d1395449">LimMemQuasiNewtonUpdater</a> (<a class="el" href="classIpopt_1_1DependentResult.html">bool</a> <a class="el" href="classIpopt_1_1DependentResult.html">update_for_resto</a>)</td></tr>
<tr class="memdesc:a8ea42c302bc7a9cd98835e06d1395449"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:a8ea42c302bc7a9cd98835e06d1395449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a965ff2daa98ef1e330111e5feef2f113" id="r_a965ff2daa98ef1e330111e5feef2f113"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a965ff2daa98ef1e330111e5feef2f113">~LimMemQuasiNewtonUpdater</a> ()</td></tr>
<tr class="memdesc:a965ff2daa98ef1e330111e5feef2f113"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:a965ff2daa98ef1e330111e5feef2f113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1HessianUpdater"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1HessianUpdater')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1HessianUpdater.html">Ipopt::HessianUpdater</a></td></tr>
<tr class="memitem:a07851fff009f6ffa3e82cf5925207550 inherit pub_methods_classIpopt_1_1HessianUpdater" id="r_a07851fff009f6ffa3e82cf5925207550"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1HessianUpdater.html#a07851fff009f6ffa3e82cf5925207550">HessianUpdater</a> ()</td></tr>
<tr class="memdesc:a07851fff009f6ffa3e82cf5925207550 inherit pub_methods_classIpopt_1_1HessianUpdater"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:a07851fff009f6ffa3e82cf5925207550 inherit pub_methods_classIpopt_1_1HessianUpdater"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af260f8323f2579c3d71dfeb16fb8f201 inherit pub_methods_classIpopt_1_1HessianUpdater" id="r_af260f8323f2579c3d71dfeb16fb8f201"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1HessianUpdater.html#af260f8323f2579c3d71dfeb16fb8f201">~HessianUpdater</a> ()</td></tr>
<tr class="memdesc:af260f8323f2579c3d71dfeb16fb8f201 inherit pub_methods_classIpopt_1_1HessianUpdater"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:af260f8323f2579c3d71dfeb16fb8f201 inherit pub_methods_classIpopt_1_1HessianUpdater"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1AlgorithmStrategyObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">Ipopt::AlgorithmStrategyObject</a></td></tr>
<tr class="memitem:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_aa2cb1ac4ea5b97c9283bc0fdb71da1d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aa2cb1ac4ea5b97c9283bc0fdb71da1d1">Initialize</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">jnlst</a>, <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_nlp</a>, <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_data</a>, <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">ip_cq</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)</td></tr>
<tr class="memdesc:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called every time the algorithm starts again - it is used to reset any internal state.  <br /></td></tr>
<tr class="separator:aa2cb1ac4ea5b97c9283bc0fdb71da1d1 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_ac624e5a883f5c655cb0abbaa24eafcf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ac624e5a883f5c655cb0abbaa24eafcf9">ReducedInitialize</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">jnlst</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">options</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;<a class="el" href="classIpopt_1_1DependentResult.html">prefix</a>)</td></tr>
<tr class="memdesc:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduced version of the Initialize method, which does not require special <a class="el" href="namespaceIpopt.html" title="This file contains a base class for all exceptions and a set of macros to help with exceptions.">Ipopt</a> information.  <br /></td></tr>
<tr class="separator:ac624e5a883f5c655cb0abbaa24eafcf9 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_af2d972f86eec83a96682bd6741a1d265"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#af2d972f86eec83a96682bd6741a1d265">AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:af2d972f86eec83a96682bd6741a1d265 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_aea25a150f7488885653c082eca5dab45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#aea25a150f7488885653c082eca5dab45">~AlgorithmStrategyObject</a> ()</td></tr>
<tr class="memdesc:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:aea25a150f7488885653c082eca5dab45 inherit pub_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_a5c0f2208e3ead22bf7c5179381ed8203"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_adbbf3aa5307da62ab8224ba599d4bd7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aac517534e10e36c946aeefc6fe337777"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aa69ecb0f026bd741e2fa84c31d4ec332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_ae6c952e7d1a63080dc8f121c008944fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a3188133b8913b894c778ddc89d6c3dd2" id="r_a3188133b8913b894c778ddc89d6c3dd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">static</a> <a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a3188133b8913b894c778ddc89d6c3dd2">RegisterOptions</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt; <a class="el" href="classIpopt_1_1DependentResult.html">roptions</a>)</td></tr>
<tr class="memdesc:a3188133b8913b894c778ddc89d6c3dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Methods for <a class="el" href="classIpopt_1_1OptionsList.html" title="This class stores a list of user set options.">OptionsList</a>.  <br /></td></tr>
<tr class="separator:a3188133b8913b894c778ddc89d6c3dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>(Hidden to avoid implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a8529529ce958964fa629b4bb28ce5c76" id="r_a8529529ce958964fa629b4bb28ce5c76"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a8529529ce958964fa629b4bb28ce5c76">LimMemQuasiNewtonUpdater</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html">LimMemQuasiNewtonUpdater</a> &amp;)</td></tr>
<tr class="memdesc:a8529529ce958964fa629b4bb28ce5c76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor.  <br /></td></tr>
<tr class="separator:a8529529ce958964fa629b4bb28ce5c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4709f2080300a8151c009a5bf79f0873" id="r_a4709f2080300a8151c009a5bf79f0873"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4709f2080300a8151c009a5bf79f0873">operator=</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html">LimMemQuasiNewtonUpdater</a> &amp;)</td></tr>
<tr class="memdesc:a4709f2080300a8151c009a5bf79f0873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <br /></td></tr>
<tr class="separator:a4709f2080300a8151c009a5bf79f0873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Auxiliary function</div></td></tr>
<tr class="memitem:a4b9776279ce5db6156b13821a855cd9d" id="r_a4b9776279ce5db6156b13821a855cd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4b9776279ce5db6156b13821a855cd9d">CheckSkippingBFGS</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">s_new</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">y_new</a>)</td></tr>
<tr class="memdesc:a4b9776279ce5db6156b13821a855cd9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method deciding whether the BFGS update should be skipped.  <br /></td></tr>
<tr class="separator:a4b9776279ce5db6156b13821a855cd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ea94f5ef65c96962c804c289085af51" id="r_a4ea94f5ef65c96962c804c289085af51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4ea94f5ef65c96962c804c289085af51">UpdateInternalData</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">s_new</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">y_new</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; <a class="el" href="classIpopt_1_1DependentResult.html">ypart_new</a>)</td></tr>
<tr class="memdesc:a4ea94f5ef65c96962c804c289085af51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the internal data, such as the S, Y, L, D etc matrices and vectors that are required for computing the compact representation.  <br /></td></tr>
<tr class="separator:a4ea94f5ef65c96962c804c289085af51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a281068ccae8573fa1579f72a1130d8a7" id="r_a281068ccae8573fa1579f72a1130d8a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a281068ccae8573fa1579f72a1130d8a7">AugmentMultiVector</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">v_new</a>)</td></tr>
<tr class="memdesc:a281068ccae8573fa1579f72a1130d8a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a MutliVector V, create a new MultiVectorSpace with one more column, and return V as a member of that space, consisting of all previous vectors, and in addition v_new in the last column.  <br /></td></tr>
<tr class="separator:a281068ccae8573fa1579f72a1130d8a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3347d0c1aaf05f4cb0b0a1f1befeea36" id="r_a3347d0c1aaf05f4cb0b0a1f1befeea36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a3347d0c1aaf05f4cb0b0a1f1befeea36">AugmentDenseVector</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> <a class="el" href="classIpopt_1_1DependentResult.html">v_new</a>)</td></tr>
<tr class="memdesc:a3347d0c1aaf05f4cb0b0a1f1befeea36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseVector.html" title="Dense Vector Implementation.">DenseVector</a> V, create a new <a class="el" href="classIpopt_1_1DenseVectorSpace.html" title="This vectors space is the vector space for DenseVector.">DenseVectorSpace</a> with one more row, and return V as a member of that space, consisting of all previous elements, and in addition v_new in the last row.  <br /></td></tr>
<tr class="separator:a3347d0c1aaf05f4cb0b0a1f1befeea36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa89449bb9bffcc06bd6f723f97abc08c" id="r_aa89449bb9bffcc06bd6f723f97abc08c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#aa89449bb9bffcc06bd6f723f97abc08c">AugmentLMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Y</a>)</td></tr>
<tr class="memdesc:aa89449bb9bffcc06bd6f723f97abc08c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a strictly-lower triangular square <a class="el" href="classIpopt_1_1DenseGenMatrix.html" title="Class for dense general matrices.">DenseGenMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^Ty_j for (i&lt;j), where s and y are the vectors in the MultiVectors S and Y.  <br /></td></tr>
<tr class="separator:aa89449bb9bffcc06bd6f723f97abc08c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab25f342f56b53a2dc86368f20140bd36" id="r_ab25f342f56b53a2dc86368f20140bd36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ab25f342f56b53a2dc86368f20140bd36">AugmentSdotSMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>)</td></tr>
<tr class="memdesc:ab25f342f56b53a2dc86368f20140bd36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^Ts_j for the new entries, where s are the vectors in the MultiVector S.  <br /></td></tr>
<tr class="separator:ab25f342f56b53a2dc86368f20140bd36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03996ca8af26c62753acf1802f9df486" id="r_a03996ca8af26c62753acf1802f9df486"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a03996ca8af26c62753acf1802f9df486">AugmentSTDRSMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">DRS</a>)</td></tr>
<tr class="memdesc:a03996ca8af26c62753acf1802f9df486"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^TDRs_j for the new entries, where s are the vectors in the MultiVector S, and DRs are the vectors in DRS.  <br /></td></tr>
<tr class="separator:a03996ca8af26c62753acf1802f9df486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac93aefcf009ce32ab2821b8e5b296d88" id="r_ac93aefcf009ce32ab2821b8e5b296d88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ac93aefcf009ce32ab2821b8e5b296d88">ShiftMultiVector</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">v_new</a>)</td></tr>
<tr class="memdesc:ac93aefcf009ce32ab2821b8e5b296d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a MutliVector V, get rid of the first column, shift all other columns to the left, and make v_new the last column.  <br /></td></tr>
<tr class="separator:ac93aefcf009ce32ab2821b8e5b296d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a1da7d35c0fd842db33fad7c931da1" id="r_a01a1da7d35c0fd842db33fad7c931da1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a01a1da7d35c0fd842db33fad7c931da1">ShiftDenseVector</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> <a class="el" href="classIpopt_1_1DependentResult.html">v_new</a>)</td></tr>
<tr class="memdesc:a01a1da7d35c0fd842db33fad7c931da1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseVector.html" title="Dense Vector Implementation.">DenseVector</a> V, get rid of the first element, shift all other elements one position to the top, and make v_new the last entry.  <br /></td></tr>
<tr class="separator:a01a1da7d35c0fd842db33fad7c931da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d80493f4d0f2ce08ac61bd0c6d97821" id="r_a4d80493f4d0f2ce08ac61bd0c6d97821"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4d80493f4d0f2ce08ac61bd0c6d97821">ShiftLMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Y</a>)</td></tr>
<tr class="memdesc:a4d80493f4d0f2ce08ac61bd0c6d97821"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a strictly-lower triangular square <a class="el" href="classIpopt_1_1DenseGenMatrix.html" title="Class for dense general matrices.">DenseGenMatrix</a> V, shift everything one row and column up, and fill the new strictly lower triangular entries as s_i^Ty_j for (i&lt;j), where s and y are the vectors in the MultiVectors S and Y.  <br /></td></tr>
<tr class="separator:a4d80493f4d0f2ce08ac61bd0c6d97821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30e0b5e73c9c3a90db01980aac74a8e6" id="r_a30e0b5e73c9c3a90db01980aac74a8e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a30e0b5e73c9c3a90db01980aac74a8e6">ShiftSdotSMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>)</td></tr>
<tr class="memdesc:a30e0b5e73c9c3a90db01980aac74a8e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, shift everything up one row and column, and fill the new entries as s_i^Ts_j, where s are the vectors in the MultiVector S.  <br /></td></tr>
<tr class="separator:a30e0b5e73c9c3a90db01980aac74a8e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aaf1c9d5d6b97fbed3af013aa1d3667" id="r_a7aaf1c9d5d6b97fbed3af013aa1d3667"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7aaf1c9d5d6b97fbed3af013aa1d3667">ShiftSTDRSMatrix</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">V</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">DRS</a>)</td></tr>
<tr class="memdesc:a7aaf1c9d5d6b97fbed3af013aa1d3667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, shift everything up one row and column, and fill the new entries as s_i^TDRs_j, where s are the vectors in the MultiVector S, and DRs are the vectors in DRS.  <br /></td></tr>
<tr class="separator:a7aaf1c9d5d6b97fbed3af013aa1d3667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ad1d47e72181bb14902c63acc4bc421" id="r_a9ad1d47e72181bb14902c63acc4bc421"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a9ad1d47e72181bb14902c63acc4bc421">RecalcY</a> (<a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> <a class="el" href="classIpopt_1_1DependentResult.html">eta</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;DR_x, <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Ypart</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Y</a>)</td></tr>
<tr class="memdesc:a9ad1d47e72181bb14902c63acc4bc421"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for recomputing Y from scratch, using Ypart (only for restoration phase)  <br /></td></tr>
<tr class="separator:a9ad1d47e72181bb14902c63acc4bc421"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0eac7552f7fe11fc82fdc99fcdf4ae5" id="r_ae0eac7552f7fe11fc82fdc99fcdf4ae5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae0eac7552f7fe11fc82fdc99fcdf4ae5">RecalcD</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Y</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">D</a>)</td></tr>
<tr class="memdesc:ae0eac7552f7fe11fc82fdc99fcdf4ae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for recomputing D from S and Y.  <br /></td></tr>
<tr class="separator:ae0eac7552f7fe11fc82fdc99fcdf4ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0451bacdfcdbe5eb509295279a3a03c6" id="r_a0451bacdfcdbe5eb509295279a3a03c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0451bacdfcdbe5eb509295279a3a03c6">RecalcL</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">S</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Y</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">L</a>)</td></tr>
<tr class="memdesc:a0451bacdfcdbe5eb509295279a3a03c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for recomputing L from S and Y.  <br /></td></tr>
<tr class="separator:a0451bacdfcdbe5eb509295279a3a03c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b1dfddf4b1e8a0ea7495e6fc6aaaf97" id="r_a4b1dfddf4b1e8a0ea7495e6fc6aaaf97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4b1dfddf4b1e8a0ea7495e6fc6aaaf97">SplitEigenvalues</a> (<a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Q</a>, <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &amp;<a class="el" href="classIpopt_1_1DependentResult.html">E</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Qminus</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;<a class="el" href="classIpopt_1_1DependentResult.html">Qplus</a>)</td></tr>
<tr class="memdesc:a4b1dfddf4b1e8a0ea7495e6fc6aaaf97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split the eigenvectors into negative and positive ones.  <br /></td></tr>
<tr class="separator:a4b1dfddf4b1e8a0ea7495e6fc6aaaf97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0173e5e0e256e7ad2a8cff90a8fb6c37" id="r_a0173e5e0e256e7ad2a8cff90a8fb6c37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0173e5e0e256e7ad2a8cff90a8fb6c37">StoreInternalDataBackup</a> ()</td></tr>
<tr class="memdesc:a0173e5e0e256e7ad2a8cff90a8fb6c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a copy of the pointers to the internal data (S, Y, D, L, SdotS, curr_lm_memory).  <br /></td></tr>
<tr class="separator:a0173e5e0e256e7ad2a8cff90a8fb6c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e7c02278b58807cd441410d983e3fd0" id="r_a8e7c02278b58807cd441410d983e3fd0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a8e7c02278b58807cd441410d983e3fd0">RestoreInternalDataBackup</a> ()</td></tr>
<tr class="memdesc:a8e7c02278b58807cd441410d983e3fd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the copy of the pointers to the internal data most recently stored with <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0173e5e0e256e7ad2a8cff90a8fb6c37" title="Store a copy of the pointers to the internal data (S, Y, D, L, SdotS, curr_lm_memory).">StoreInternalDataBackup()</a>.  <br /></td></tr>
<tr class="separator:a8e7c02278b58807cd441410d983e3fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54a308c4b7b42628732d0fbf4b9081da" id="r_a54a308c4b7b42628732d0fbf4b9081da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a54a308c4b7b42628732d0fbf4b9081da">SetW</a> ()</td></tr>
<tr class="memdesc:a54a308c4b7b42628732d0fbf4b9081da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release anything that we allocated for StoreInternalDataBackup and is no longer needed.  <br /></td></tr>
<tr class="separator:a54a308c4b7b42628732d0fbf4b9081da"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ae651bfdde2b4bb371616d5427f474d92" id="r_ae651bfdde2b4bb371616d5427f474d92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LowRankUpdateSymMatrixSpace.html">LowRankUpdateSymMatrixSpace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae651bfdde2b4bb371616d5427f474d92">h_space_</a></td></tr>
<tr class="memdesc:ae651bfdde2b4bb371616d5427f474d92"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> space for the low-rank Hessian approximation.  <br /></td></tr>
<tr class="separator:ae651bfdde2b4bb371616d5427f474d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf884f069d635a28721132018e82408" id="r_a5bf884f069d635a28721132018e82408"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a5bf884f069d635a28721132018e82408">update_for_resto_</a></td></tr>
<tr class="memdesc:a5bf884f069d635a28721132018e82408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating if the update is to be done for the original <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a> or for the restoration phase <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a>.  <br /></td></tr>
<tr class="separator:a5bf884f069d635a28721132018e82408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef0116647ec48e237647d97ab4652d5b" id="r_aef0116647ec48e237647d97ab4652d5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#aef0116647ec48e237647d97ab4652d5b">last_eta_</a></td></tr>
<tr class="memdesc:aef0116647ec48e237647d97ab4652d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Most recent value for eta in the restoration phase objective function (only for update_for_resto_ = true)  <br /></td></tr>
<tr class="separator:aef0116647ec48e237647d97ab4652d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af91acff1d8121c05414463d5ff29c5a3" id="r_af91acff1d8121c05414463d5ff29c5a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#af91acff1d8121c05414463d5ff29c5a3">curr_DR_x_</a></td></tr>
<tr class="memdesc:af91acff1d8121c05414463d5ff29c5a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current DR_x scaling factors in the restoration phase objective function (only for update_for_resto_ = true).  <br /></td></tr>
<tr class="separator:af91acff1d8121c05414463d5ff29c5a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d14331c82d5cb7136fcb6a224131cf1" id="r_a7d14331c82d5cb7136fcb6a224131cf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">TaggedObject::Tag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7d14331c82d5cb7136fcb6a224131cf1">curr_DR_x_tag_</a></td></tr>
<tr class="memdesc:a7d14331c82d5cb7136fcb6a224131cf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tag for curr_DR_x_.  <br /></td></tr>
<tr class="separator:a7d14331c82d5cb7136fcb6a224131cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d1d56994acb3a1c934f4b73d96ffd3e" id="r_a5d1d56994acb3a1c934f4b73d96ffd3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a5d1d56994acb3a1c934f4b73d96ffd3e">curr_red_DR_x_</a></td></tr>
<tr class="memdesc:a5d1d56994acb3a1c934f4b73d96ffd3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current DR_x scaling factors in the restoration phase objective function in the smaller space for the approximation.  <br /></td></tr>
<tr class="separator:a5d1d56994acb3a1c934f4b73d96ffd3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a789105608badbec4cef9a15812443cbe" id="r_a789105608badbec4cef9a15812443cbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a789105608badbec4cef9a15812443cbe">curr_eta_</a></td></tr>
<tr class="memdesc:a789105608badbec4cef9a15812443cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current value of weighing factor eta in the restoration phase objective function (only for update_for_resto_ = true)  <br /></td></tr>
<tr class="separator:a789105608badbec4cef9a15812443cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f764363028359f79e527e895df21f1a" id="r_a0f764363028359f79e527e895df21f1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0f764363028359f79e527e895df21f1a">lm_skipped_iter_</a></td></tr>
<tr class="memdesc:a0f764363028359f79e527e895df21f1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counter for successive iterations in which the update was skipped.  <br /></td></tr>
<tr class="separator:a0f764363028359f79e527e895df21f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Information for the limited memory update</div></td></tr>
<tr class="memitem:ac6d2c7e8ceee3996c32041e7eb91bb89" id="r_ac6d2c7e8ceee3996c32041e7eb91bb89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ac6d2c7e8ceee3996c32041e7eb91bb89">curr_lm_memory_</a></td></tr>
<tr class="memdesc:ac6d2c7e8ceee3996c32041e7eb91bb89"><td class="mdescLeft">&#160;</td><td class="mdescRight">current size of limited memory  <br /></td></tr>
<tr class="separator:ac6d2c7e8ceee3996c32041e7eb91bb89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ebe9543568ffdbe356e98274b2fc3af" id="r_a2ebe9543568ffdbe356e98274b2fc3af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a2ebe9543568ffdbe356e98274b2fc3af">S_</a></td></tr>
<tr class="memdesc:a2ebe9543568ffdbe356e98274b2fc3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">s pairs for the recent iterations  <br /></td></tr>
<tr class="separator:a2ebe9543568ffdbe356e98274b2fc3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae49f592101f43a0a489f37ef359c4195" id="r_ae49f592101f43a0a489f37ef359c4195"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae49f592101f43a0a489f37ef359c4195">Y_</a></td></tr>
<tr class="memdesc:ae49f592101f43a0a489f37ef359c4195"><td class="mdescLeft">&#160;</td><td class="mdescRight">y pairs for the recent iterations.  <br /></td></tr>
<tr class="separator:ae49f592101f43a0a489f37ef359c4195"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4efc34f9ef1c16571408ffc1dcf72fc4" id="r_a4efc34f9ef1c16571408ffc1dcf72fc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4efc34f9ef1c16571408ffc1dcf72fc4">Ypart_</a></td></tr>
<tr class="memdesc:a4efc34f9ef1c16571408ffc1dcf72fc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">For restoration phase update: Y without the quadratic objective function part.  <br /></td></tr>
<tr class="separator:a4efc34f9ef1c16571408ffc1dcf72fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b72dba39efe0d8d3bc8c0f0e5ab02f1" id="r_a9b72dba39efe0d8d3bc8c0f0e5ab02f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a9b72dba39efe0d8d3bc8c0f0e5ab02f1">D_</a></td></tr>
<tr class="memdesc:a9b72dba39efe0d8d3bc8c0f0e5ab02f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Diagonal elements D_k for compact formulation from last update.  <br /></td></tr>
<tr class="separator:a9b72dba39efe0d8d3bc8c0f0e5ab02f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3090910f99df48d7a85a634fe10a2e6" id="r_ac3090910f99df48d7a85a634fe10a2e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ac3090910f99df48d7a85a634fe10a2e6">L_</a></td></tr>
<tr class="memdesc:ac3090910f99df48d7a85a634fe10a2e6"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> L_k for compact formulation from last update.  <br /></td></tr>
<tr class="separator:ac3090910f99df48d7a85a634fe10a2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af787d841edfa76c8c1165f11dca07bce" id="r_af787d841edfa76c8c1165f11dca07bce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#af787d841edfa76c8c1165f11dca07bce">B0_</a></td></tr>
<tr class="memdesc:af787d841edfa76c8c1165f11dca07bce"><td class="mdescLeft">&#160;</td><td class="mdescRight">First term (starting matrix) for the approximation.  <br /></td></tr>
<tr class="separator:af787d841edfa76c8c1165f11dca07bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a027bad36194279b6877357fd29e3c" id="r_a50a027bad36194279b6877357fd29e3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a50a027bad36194279b6877357fd29e3c">sigma_</a></td></tr>
<tr class="memdesc:a50a027bad36194279b6877357fd29e3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">First term (starting matrix) for the approximation.  <br /></td></tr>
<tr class="separator:a50a027bad36194279b6877357fd29e3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8b925b94d06ceccede4513b309d629" id="r_a7f8b925b94d06ceccede4513b309d629"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7f8b925b94d06ceccede4513b309d629">V_</a></td></tr>
<tr class="memdesc:a7f8b925b94d06ceccede4513b309d629"><td class="mdescLeft">&#160;</td><td class="mdescRight">V in LowRankUpdateMatrix from last update.  <br /></td></tr>
<tr class="separator:a7f8b925b94d06ceccede4513b309d629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a2e525766120cdacc3cfbbdb502f34" id="r_a69a2e525766120cdacc3cfbbdb502f34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a69a2e525766120cdacc3cfbbdb502f34">U_</a></td></tr>
<tr class="memdesc:a69a2e525766120cdacc3cfbbdb502f34"><td class="mdescLeft">&#160;</td><td class="mdescRight">U in LowRankUpdateMatrix from last update.  <br /></td></tr>
<tr class="separator:a69a2e525766120cdacc3cfbbdb502f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd9e1fe9182db0b989ad43d64702c68" id="r_a4fd9e1fe9182db0b989ad43d64702c68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4fd9e1fe9182db0b989ad43d64702c68">SdotS_</a></td></tr>
<tr class="memdesc:a4fd9e1fe9182db0b989ad43d64702c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">For efficient implementation, we store the pairwise products for s's.  <br /></td></tr>
<tr class="separator:a4fd9e1fe9182db0b989ad43d64702c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea28b939b4b61b5abd237fe996610d09" id="r_aea28b939b4b61b5abd237fe996610d09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#aea28b939b4b61b5abd237fe996610d09">SdotS_uptodate_</a></td></tr>
<tr class="memdesc:aea28b939b4b61b5abd237fe996610d09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether SdotS_ is update to date from most recent update.  <br /></td></tr>
<tr class="separator:aea28b939b4b61b5abd237fe996610d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c6509f6a9dcc6f6ae478ad397a5ab1" id="r_ae1c6509f6a9dcc6f6ae478ad397a5ab1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae1c6509f6a9dcc6f6ae478ad397a5ab1">DRS_</a></td></tr>
<tr class="memdesc:ae1c6509f6a9dcc6f6ae478ad397a5ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">DR * S (only for restoration phase)  <br /></td></tr>
<tr class="separator:ae1c6509f6a9dcc6f6ae478ad397a5ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d855c245f0623a9aca28c3aa5ac14f" id="r_a05d855c245f0623a9aca28c3aa5ac14f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a05d855c245f0623a9aca28c3aa5ac14f">STDRS_</a></td></tr>
<tr class="memdesc:a05d855c245f0623a9aca28c3aa5ac14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">For efficient implementation, we store the S^T S DR * S.  <br /></td></tr>
<tr class="separator:a05d855c245f0623a9aca28c3aa5ac14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6c924d457bfb616a2f11e6129dc25a1" id="r_ad6c924d457bfb616a2f11e6129dc25a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ad6c924d457bfb616a2f11e6129dc25a1">last_x_</a></td></tr>
<tr class="memdesc:ad6c924d457bfb616a2f11e6129dc25a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primal variables x from most recent update.  <br /></td></tr>
<tr class="separator:ad6c924d457bfb616a2f11e6129dc25a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c01dfe9191fbd2bdae013541a07adf1" id="r_a8c01dfe9191fbd2bdae013541a07adf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a8c01dfe9191fbd2bdae013541a07adf1">last_grad_f_</a></td></tr>
<tr class="memdesc:a8c01dfe9191fbd2bdae013541a07adf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gradient of objective function w.r.t.  <br /></td></tr>
<tr class="separator:a8c01dfe9191fbd2bdae013541a07adf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b6ea6fbd20cbd6a907d2037727407d8" id="r_a0b6ea6fbd20cbd6a907d2037727407d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0b6ea6fbd20cbd6a907d2037727407d8">last_jac_c_</a></td></tr>
<tr class="memdesc:a0b6ea6fbd20cbd6a907d2037727407d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jacobian for equality constraints w.r.t x at x_last.  <br /></td></tr>
<tr class="separator:a0b6ea6fbd20cbd6a907d2037727407d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39cde08934dec5c9d07ee60bd9f894dc" id="r_a39cde08934dec5c9d07ee60bd9f894dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a39cde08934dec5c9d07ee60bd9f894dc">last_jac_d_</a></td></tr>
<tr class="memdesc:a39cde08934dec5c9d07ee60bd9f894dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jacobian for inequality constraints w.r.t x at x_last.  <br /></td></tr>
<tr class="separator:a39cde08934dec5c9d07ee60bd9f894dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af68441d4e1f531996c893ef537aefdd2" id="r_af68441d4e1f531996c893ef537aefdd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#af68441d4e1f531996c893ef537aefdd2">curr_lm_memory_old_</a></td></tr>
<tr class="memdesc:af68441d4e1f531996c893ef537aefdd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">current size of limited memory  <br /></td></tr>
<tr class="separator:af68441d4e1f531996c893ef537aefdd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae39f3dcffe0149d85a578ecea3713ada" id="r_ae39f3dcffe0149d85a578ecea3713ada"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae39f3dcffe0149d85a578ecea3713ada">S_old_</a></td></tr>
<tr class="memdesc:ae39f3dcffe0149d85a578ecea3713ada"><td class="mdescLeft">&#160;</td><td class="mdescRight">s pairs for the recent iterations (backup)  <br /></td></tr>
<tr class="separator:ae39f3dcffe0149d85a578ecea3713ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b3a8ff337019f44b57d51ef4ab768a1" id="r_a6b3a8ff337019f44b57d51ef4ab768a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a6b3a8ff337019f44b57d51ef4ab768a1">Y_old_</a></td></tr>
<tr class="memdesc:a6b3a8ff337019f44b57d51ef4ab768a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">y pairs for the recent iterations.  <br /></td></tr>
<tr class="separator:a6b3a8ff337019f44b57d51ef4ab768a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1234b1ef46ef754744118ed65474489a" id="r_a1234b1ef46ef754744118ed65474489a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a1234b1ef46ef754744118ed65474489a">Ypart_old_</a></td></tr>
<tr class="memdesc:a1234b1ef46ef754744118ed65474489a"><td class="mdescLeft">&#160;</td><td class="mdescRight">For restoration phase update: Y without the quadratic objective function part (backup)  <br /></td></tr>
<tr class="separator:a1234b1ef46ef754744118ed65474489a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b970b7904a109e21d61de28fd24f228" id="r_a6b970b7904a109e21d61de28fd24f228"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a6b970b7904a109e21d61de28fd24f228">D_old_</a></td></tr>
<tr class="memdesc:a6b970b7904a109e21d61de28fd24f228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Diagonal elements D_k for compact formulation from last update (backup).  <br /></td></tr>
<tr class="separator:a6b970b7904a109e21d61de28fd24f228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7bf7ad4de5fb03834605c0b30bcad00" id="r_ab7bf7ad4de5fb03834605c0b30bcad00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ab7bf7ad4de5fb03834605c0b30bcad00">L_old_</a></td></tr>
<tr class="memdesc:ab7bf7ad4de5fb03834605c0b30bcad00"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> L_k for compact formulation from last update (backup).  <br /></td></tr>
<tr class="separator:ab7bf7ad4de5fb03834605c0b30bcad00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7265d340c5f6d6e644d63377eec4b156" id="r_a7265d340c5f6d6e644d63377eec4b156"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7265d340c5f6d6e644d63377eec4b156">B0_old_</a></td></tr>
<tr class="memdesc:a7265d340c5f6d6e644d63377eec4b156"><td class="mdescLeft">&#160;</td><td class="mdescRight">First term (starting matrix) for the approximation (backup).  <br /></td></tr>
<tr class="separator:a7265d340c5f6d6e644d63377eec4b156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa17edd63f7905cec9abfa8d8d592009c" id="r_aa17edd63f7905cec9abfa8d8d592009c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#aa17edd63f7905cec9abfa8d8d592009c">sigma_old_</a></td></tr>
<tr class="memdesc:aa17edd63f7905cec9abfa8d8d592009c"><td class="mdescLeft">&#160;</td><td class="mdescRight">First term (starting matrix) for the approximation.  <br /></td></tr>
<tr class="separator:aa17edd63f7905cec9abfa8d8d592009c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1b44ee463310533e3412c274d134ed" id="r_afc1b44ee463310533e3412c274d134ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#afc1b44ee463310533e3412c274d134ed">V_old_</a></td></tr>
<tr class="memdesc:afc1b44ee463310533e3412c274d134ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">V in LowRankUpdateMatrix from last update (backup)  <br /></td></tr>
<tr class="separator:afc1b44ee463310533e3412c274d134ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad98d84977d553282814871f362b61d52" id="r_ad98d84977d553282814871f362b61d52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ad98d84977d553282814871f362b61d52">U_old_</a></td></tr>
<tr class="memdesc:ad98d84977d553282814871f362b61d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">U in LowRankUpdateMatrix from last update (backup)  <br /></td></tr>
<tr class="separator:ad98d84977d553282814871f362b61d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0687e0f7dda8f9a396c81435d0572137" id="r_a0687e0f7dda8f9a396c81435d0572137"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0687e0f7dda8f9a396c81435d0572137">SdotS_old_</a></td></tr>
<tr class="memdesc:a0687e0f7dda8f9a396c81435d0572137"><td class="mdescLeft">&#160;</td><td class="mdescRight">For efficient implementation, we store the pairwise products for s's (backup).  <br /></td></tr>
<tr class="separator:a0687e0f7dda8f9a396c81435d0572137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d0dec49277cc4359cdd40a8c4923ec2" id="r_a6d0dec49277cc4359cdd40a8c4923ec2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a6d0dec49277cc4359cdd40a8c4923ec2">SdotS_uptodate_old_</a></td></tr>
<tr class="memdesc:a6d0dec49277cc4359cdd40a8c4923ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether SdotS_ is update to date from most recent update (backup).  <br /></td></tr>
<tr class="separator:a6d0dec49277cc4359cdd40a8c4923ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a2281c42f2dec342bf32ada3454815f" id="r_a6a2281c42f2dec342bf32ada3454815f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a6a2281c42f2dec342bf32ada3454815f">DRS_old_</a></td></tr>
<tr class="memdesc:a6a2281c42f2dec342bf32ada3454815f"><td class="mdescLeft">&#160;</td><td class="mdescRight">DR * S (only for restoration phase) (backup)  <br /></td></tr>
<tr class="separator:a6a2281c42f2dec342bf32ada3454815f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae13a4b50d8d9c7d22b115bc31e3c72c5" id="r_ae13a4b50d8d9c7d22b115bc31e3c72c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae13a4b50d8d9c7d22b115bc31e3c72c5">STDRS_old_</a></td></tr>
<tr class="memdesc:ae13a4b50d8d9c7d22b115bc31e3c72c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">For efficient implementation, we store the S^T S DR * S.  <br /></td></tr>
<tr class="separator:ae13a4b50d8d9c7d22b115bc31e3c72c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Algorithmic parameters</h2></td></tr>
<tr class="memitem:acf19d439cad539ceeb80509f92873ad4" id="r_acf19d439cad539ceeb80509f92873ad4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4">LMUpdateType</a> { <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4a3c7d81b27fd76eabf23a156dc86ed0cb">BFGS</a> = 0
, <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4a530dfa45ca122771541b83cdade376ef">SR1</a>
 }</td></tr>
<tr class="memdesc:acf19d439cad539ceeb80509f92873ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">enumeration for the Hessian update type.  <a href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4">More...</a><br /></td></tr>
<tr class="separator:acf19d439cad539ceeb80509f92873ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c23742ee6b01b50a0b1f82a5562dcc" id="r_a84c23742ee6b01b50a0b1f82a5562dcc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcc">LMInitialization</a> { <br />
&#160;&#160;<a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dccab999ac4ad4e475a440912a7ed9b611cd">SCALAR1</a> = 0
, <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcca35a685177867c1229b0ffcad5107783c">SCALAR2</a>
, <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcca5556a24942d7ac00d1f8304f12098899">SCALAR3</a>
, <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcca7264e878d1645f0329c6fc84807fdfe3">SCALAR4</a>
, <br />
&#160;&#160;<a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dccad78fb6e69e94d7572b89dab29c1842f1">CONSTANT</a>
<br />
 }</td></tr>
<tr class="memdesc:a84c23742ee6b01b50a0b1f82a5562dcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">enumeration for the Hessian initialization.  <a href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcc">More...</a><br /></td></tr>
<tr class="separator:a84c23742ee6b01b50a0b1f82a5562dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7691d300542e71170c22ad81e4239bcd" id="r_a7691d300542e71170c22ad81e4239bcd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7691d300542e71170c22ad81e4239bcd">limited_memory_max_history_</a></td></tr>
<tr class="memdesc:a7691d300542e71170c22ad81e4239bcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of memory for limited memory update.  <br /></td></tr>
<tr class="separator:a7691d300542e71170c22ad81e4239bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac027f40e9a290f9a88c3e6762b919236" id="r_ac027f40e9a290f9a88c3e6762b919236"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4">LMUpdateType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ac027f40e9a290f9a88c3e6762b919236">limited_memory_update_type_</a></td></tr>
<tr class="memdesc:ac027f40e9a290f9a88c3e6762b919236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of Hessian update.  <br /></td></tr>
<tr class="separator:ac027f40e9a290f9a88c3e6762b919236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac2aa14e528872e28ca3d6604ba0efe2" id="r_aac2aa14e528872e28ca3d6604ba0efe2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcc">LMInitialization</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#aac2aa14e528872e28ca3d6604ba0efe2">limited_memory_initialization_</a></td></tr>
<tr class="memdesc:aac2aa14e528872e28ca3d6604ba0efe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to choose B0 in the low-rank update.  <br /></td></tr>
<tr class="separator:aac2aa14e528872e28ca3d6604ba0efe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8b4466052e132ff9b7061da84207984" id="r_ae8b4466052e132ff9b7061da84207984"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#ae8b4466052e132ff9b7061da84207984">limited_memory_init_val_</a></td></tr>
<tr class="memdesc:ae8b4466052e132ff9b7061da84207984"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of B0 (as this multiple of the identity in certain situations).  <br /></td></tr>
<tr class="separator:ae8b4466052e132ff9b7061da84207984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eafabd79b2d948ed4813cd3f31d057e" id="r_a0eafabd79b2d948ed4813cd3f31d057e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0eafabd79b2d948ed4813cd3f31d057e">limited_memory_max_skipping_</a></td></tr>
<tr class="memdesc:a0eafabd79b2d948ed4813cd3f31d057e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of successive iterations of skipped updates after which the approximation is reset.  <br /></td></tr>
<tr class="separator:a0eafabd79b2d948ed4813cd3f31d057e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb9adbe06533616e20acfc2ca9c7290" id="r_a4fb9adbe06533616e20acfc2ca9c7290"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a4fb9adbe06533616e20acfc2ca9c7290">sigma_safe_min_</a></td></tr>
<tr class="memdesc:a4fb9adbe06533616e20acfc2ca9c7290"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimal safeguard value for sigma.  <br /></td></tr>
<tr class="separator:a4fb9adbe06533616e20acfc2ca9c7290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d1969f74155d500554244b60f3a6d0e" id="r_a7d1969f74155d500554244b60f3a6d0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a7d1969f74155d500554244b60f3a6d0e">sigma_safe_max_</a></td></tr>
<tr class="memdesc:a7d1969f74155d500554244b60f3a6d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximal safeguard value for sigma.  <br /></td></tr>
<tr class="separator:a7d1969f74155d500554244b60f3a6d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85614a07d4b5c236be90edb2c3f8ec96" id="r_a85614a07d4b5c236be90edb2c3f8ec96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a85614a07d4b5c236be90edb2c3f8ec96">limited_memory_special_for_resto_</a></td></tr>
<tr class="memdesc:a85614a07d4b5c236be90edb2c3f8ec96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating if Hessian approximation should be done in a special manner for the restoration phase.  <br /></td></tr>
<tr class="separator:a85614a07d4b5c236be90edb2c3f8ec96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classIpopt_1_1AlgorithmStrategyObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html">Ipopt::AlgorithmStrategyObject</a></td></tr>
<tr class="memitem:ada99d79edf49ae7d487ad2c3b63b82af inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_ada99d79edf49ae7d487ad2c3b63b82af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#ada99d79edf49ae7d487ad2c3b63b82af">Jnlst</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:ada99d79edf49ae7d487ad2c3b63b82af inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7ef129a410b51b3db14a12dea1fd03 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_add7ef129a410b51b3db14a12dea1fd03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#add7ef129a410b51b3db14a12dea1fd03">IpNLP</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:add7ef129a410b51b3db14a12dea1fd03 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a097ab7f6103c3345324a257914fff29a inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_a097ab7f6103c3345324a257914fff29a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a097ab7f6103c3345324a257914fff29a">IpData</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a097ab7f6103c3345324a257914fff29a inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9330e92f6c2fdabb9741d218d9c64f35 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_a9330e92f6c2fdabb9741d218d9c64f35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a9330e92f6c2fdabb9741d218d9c64f35">IpCq</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a9330e92f6c2fdabb9741d218d9c64f35 inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6310084b90871ee4eec3d89bb407ee inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject" id="r_a5f6310084b90871ee4eec3d89bb407ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html#a5f6310084b90871ee4eec3d89bb407ee">HaveIpData</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a5f6310084b90871ee4eec3d89bb407ee inherit pro_methods_classIpopt_1_1AlgorithmStrategyObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of the <a class="el" href="classIpopt_1_1HessianUpdater.html" title="Abstract base class for objects responsible for updating the Hessian information.">HessianUpdater</a> for limit-memory quasi-Newton approximation of the Lagrangian Hessian. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00023">23</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="acf19d439cad539ceeb80509f92873ad4" name="acf19d439cad539ceeb80509f92873ad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf19d439cad539ceeb80509f92873ad4">&#9670;&#160;</a></span>LMUpdateType</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">enum</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4">Ipopt::LimMemQuasiNewtonUpdater::LMUpdateType</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>enumeration for the Hessian update type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="acf19d439cad539ceeb80509f92873ad4a3c7d81b27fd76eabf23a156dc86ed0cb" name="acf19d439cad539ceeb80509f92873ad4a3c7d81b27fd76eabf23a156dc86ed0cb"></a>BFGS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="acf19d439cad539ceeb80509f92873ad4a530dfa45ca122771541b83cdade376ef" name="acf19d439cad539ceeb80509f92873ad4a530dfa45ca122771541b83cdade376ef"></a>SR1&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00084">84</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a84c23742ee6b01b50a0b1f82a5562dcc" name="a84c23742ee6b01b50a0b1f82a5562dcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84c23742ee6b01b50a0b1f82a5562dcc">&#9670;&#160;</a></span>LMInitialization</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">enum</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcc">Ipopt::LimMemQuasiNewtonUpdater::LMInitialization</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>enumeration for the Hessian initialization. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a84c23742ee6b01b50a0b1f82a5562dccab999ac4ad4e475a440912a7ed9b611cd" name="a84c23742ee6b01b50a0b1f82a5562dccab999ac4ad4e475a440912a7ed9b611cd"></a>SCALAR1&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a84c23742ee6b01b50a0b1f82a5562dcca35a685177867c1229b0ffcad5107783c" name="a84c23742ee6b01b50a0b1f82a5562dcca35a685177867c1229b0ffcad5107783c"></a>SCALAR2&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a84c23742ee6b01b50a0b1f82a5562dcca5556a24942d7ac00d1f8304f12098899" name="a84c23742ee6b01b50a0b1f82a5562dcca5556a24942d7ac00d1f8304f12098899"></a>SCALAR3&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a84c23742ee6b01b50a0b1f82a5562dcca7264e878d1645f0329c6fc84807fdfe3" name="a84c23742ee6b01b50a0b1f82a5562dcca7264e878d1645f0329c6fc84807fdfe3"></a>SCALAR4&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a84c23742ee6b01b50a0b1f82a5562dccad78fb6e69e94d7572b89dab29c1842f1" name="a84c23742ee6b01b50a0b1f82a5562dccad78fb6e69e94d7572b89dab29c1842f1"></a>CONSTANT&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00094">94</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8ea42c302bc7a9cd98835e06d1395449" name="a8ea42c302bc7a9cd98835e06d1395449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ea42c302bc7a9cd98835e06d1395449">&#9670;&#160;</a></span>LimMemQuasiNewtonUpdater() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::LimMemQuasiNewtonUpdater::LimMemQuasiNewtonUpdater </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td>
          <td class="paramname"><em>update_for_resto</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default Constructor. </p>

</div>
</div>
<a id="a965ff2daa98ef1e330111e5feef2f113" name="a965ff2daa98ef1e330111e5feef2f113"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a965ff2daa98ef1e330111e5feef2f113">&#9670;&#160;</a></span>~LimMemQuasiNewtonUpdater()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> Ipopt::LimMemQuasiNewtonUpdater::~LimMemQuasiNewtonUpdater </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00034">34</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a8529529ce958964fa629b4bb28ce5c76" name="a8529529ce958964fa629b4bb28ce5c76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8529529ce958964fa629b4bb28ce5c76">&#9670;&#160;</a></span>LimMemQuasiNewtonUpdater() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::LimMemQuasiNewtonUpdater::LimMemQuasiNewtonUpdater </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html">LimMemQuasiNewtonUpdater</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy Constructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab6b064e5eff0e16c4aa83983070f20a6" name="ab6b064e5eff0e16c4aa83983070f20a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6b064e5eff0e16c4aa83983070f20a6">&#9670;&#160;</a></span>InitializeImpl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::InitializeImpl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>overloaded from <a class="el" href="classIpopt_1_1AlgorithmStrategyObject.html" title="This is the base class for all algorithm strategy objects.">AlgorithmStrategyObject</a> </p>

<p>Implements <a class="el" href="classIpopt_1_1HessianUpdater.html#a703e4acf951f7fce479fb346dada6fc8">Ipopt::HessianUpdater</a>.</p>

</div>
</div>
<a id="a7a195f4bcb6d1c184068e69c97e4b206" name="a7a195f4bcb6d1c184068e69c97e4b206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a195f4bcb6d1c184068e69c97e4b206">&#9670;&#160;</a></span>UpdateHessian()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> <a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::UpdateHessian </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Update the Hessian based on the current information in IpData. </p>

<p>Implements <a class="el" href="classIpopt_1_1HessianUpdater.html#a4d00334fd4bdb03260e44b10dda85a33">Ipopt::HessianUpdater</a>.</p>

</div>
</div>
<a id="a3188133b8913b894c778ddc89d6c3dd2" name="a3188133b8913b894c778ddc89d6c3dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3188133b8913b894c778ddc89d6c3dd2">&#9670;&#160;</a></span>RegisterOptions()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">static</a> <a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::RegisterOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1RegisteredOptions.html">RegisteredOptions</a> &gt;&#160;</td>
          <td class="paramname"><em>roptions</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Methods for <a class="el" href="classIpopt_1_1OptionsList.html" title="This class stores a list of user set options.">OptionsList</a>. </p>

</div>
</div>
<a id="a4709f2080300a8151c009a5bf79f0873" name="a4709f2080300a8151c009a5bf79f0873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4709f2080300a8151c009a5bf79f0873">&#9670;&#160;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html">LimMemQuasiNewtonUpdater</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<a id="a4b9776279ce5db6156b13821a855cd9d" name="a4b9776279ce5db6156b13821a855cd9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b9776279ce5db6156b13821a855cd9d">&#9670;&#160;</a></span>CheckSkippingBFGS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::CheckSkippingBFGS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>s_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>y_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method deciding whether the BFGS update should be skipped. </p>
<p>If Powell-damping is performed, the Vectors s_new and y_new might be adapted.</p>
<dl class="section return"><dt>Returns</dt><dd>true, if no update is to be performed this time. </dd></dl>

</div>
</div>
<a id="a4ea94f5ef65c96962c804c289085af51" name="a4ea94f5ef65c96962c804c289085af51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ea94f5ef65c96962c804c289085af51">&#9670;&#160;</a></span>UpdateInternalData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::UpdateInternalData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>s_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>y_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td>
          <td class="paramname"><em>ypart_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Update the internal data, such as the S, Y, L, D etc matrices and vectors that are required for computing the compact representation. </p>
<dl class="section return"><dt>Returns</dt><dd>true, if the limited memory history grew (i.e., curr_lm_memory_ was increased). </dd></dl>

</div>
</div>
<a id="a281068ccae8573fa1579f72a1130d8a7" name="a281068ccae8573fa1579f72a1130d8a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a281068ccae8573fa1579f72a1130d8a7">&#9670;&#160;</a></span>AugmentMultiVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::AugmentMultiVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>v_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a MutliVector V, create a new MultiVectorSpace with one more column, and return V as a member of that space, consisting of all previous vectors, and in addition v_new in the last column. </p>
<p>If V is NULL, then a new <a class="el" href="classIpopt_1_1MatrixSpace.html" title="MatrixSpace base class, corresponding to the Matrix base class.">MatrixSpace</a> with one column is created. </p>

</div>
</div>
<a id="a3347d0c1aaf05f4cb0b0a1f1befeea36" name="a3347d0c1aaf05f4cb0b0a1f1befeea36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3347d0c1aaf05f4cb0b0a1f1befeea36">&#9670;&#160;</a></span>AugmentDenseVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::AugmentDenseVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>v_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseVector.html" title="Dense Vector Implementation.">DenseVector</a> V, create a new <a class="el" href="classIpopt_1_1DenseVectorSpace.html" title="This vectors space is the vector space for DenseVector.">DenseVectorSpace</a> with one more row, and return V as a member of that space, consisting of all previous elements, and in addition v_new in the last row. </p>
<p>If V is NULL, then a new <a class="el" href="classIpopt_1_1DenseVectorSpace.html" title="This vectors space is the vector space for DenseVector.">DenseVectorSpace</a> with dimension one is created. </p>

</div>
</div>
<a id="aa89449bb9bffcc06bd6f723f97abc08c" name="aa89449bb9bffcc06bd6f723f97abc08c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa89449bb9bffcc06bd6f723f97abc08c">&#9670;&#160;</a></span>AugmentLMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::AugmentLMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a strictly-lower triangular square <a class="el" href="classIpopt_1_1DenseGenMatrix.html" title="Class for dense general matrices.">DenseGenMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^Ty_j for (i&lt;j), where s and y are the vectors in the MultiVectors S and Y. </p>
<p>If V is NULL, then a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with dimension one is created. </p>

</div>
</div>
<a id="ab25f342f56b53a2dc86368f20140bd36" name="ab25f342f56b53a2dc86368f20140bd36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab25f342f56b53a2dc86368f20140bd36">&#9670;&#160;</a></span>AugmentSdotSMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::AugmentSdotSMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^Ts_j for the new entries, where s are the vectors in the MultiVector S. </p>
<p>If V is NULL, then a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with dimension one is created. </p>

</div>
</div>
<a id="a03996ca8af26c62753acf1802f9df486" name="a03996ca8af26c62753acf1802f9df486"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03996ca8af26c62753acf1802f9df486">&#9670;&#160;</a></span>AugmentSTDRSMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::AugmentSTDRSMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>DRS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, create a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with one more dimension, and return V as a member of that space, consisting of all previous elements, and in addition elements s_i^TDRs_j for the new entries, where s are the vectors in the MultiVector S, and DRs are the vectors in DRS. </p>
<p>If V is NULL, then a new <a class="el" href="classIpopt_1_1DenseGenMatrixSpace.html" title="This is the matrix space for DenseGenMatrix.">DenseGenMatrixSpace</a> with dimension one is created. </p>

</div>
</div>
<a id="ac93aefcf009ce32ab2821b8e5b296d88" name="ac93aefcf009ce32ab2821b8e5b296d88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac93aefcf009ce32ab2821b8e5b296d88">&#9670;&#160;</a></span>ShiftMultiVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::ShiftMultiVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>v_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a MutliVector V, get rid of the first column, shift all other columns to the left, and make v_new the last column. </p>
<p>The entity that V points to at the call, is not changed - a new entity is created in the method and returned as V. </p>

</div>
</div>
<a id="a01a1da7d35c0fd842db33fad7c931da1" name="a01a1da7d35c0fd842db33fad7c931da1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01a1da7d35c0fd842db33fad7c931da1">&#9670;&#160;</a></span>ShiftDenseVector()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::ShiftDenseVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>v_new</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseVector.html" title="Dense Vector Implementation.">DenseVector</a> V, get rid of the first element, shift all other elements one position to the top, and make v_new the last entry. </p>
<p>The entity that V points to at the call, is not changed - a new entity is created in the method and returned as V. </p>

</div>
</div>
<a id="a4d80493f4d0f2ce08ac61bd0c6d97821" name="a4d80493f4d0f2ce08ac61bd0c6d97821"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d80493f4d0f2ce08ac61bd0c6d97821">&#9670;&#160;</a></span>ShiftLMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::ShiftLMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a strictly-lower triangular square <a class="el" href="classIpopt_1_1DenseGenMatrix.html" title="Class for dense general matrices.">DenseGenMatrix</a> V, shift everything one row and column up, and fill the new strictly lower triangular entries as s_i^Ty_j for (i&lt;j), where s and y are the vectors in the MultiVectors S and Y. </p>
<p>The entity that V points to at the call, is not changed - a new entity is created in the method and returned as V. </p>

</div>
</div>
<a id="a30e0b5e73c9c3a90db01980aac74a8e6" name="a30e0b5e73c9c3a90db01980aac74a8e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30e0b5e73c9c3a90db01980aac74a8e6">&#9670;&#160;</a></span>ShiftSdotSMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::ShiftSdotSMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, shift everything up one row and column, and fill the new entries as s_i^Ts_j, where s are the vectors in the MultiVector S. </p>
<p>The entity that V points to at the call, is not changed - a new entity is created in the method and returned as V. </p>

</div>
</div>
<a id="a7aaf1c9d5d6b97fbed3af013aa1d3667" name="a7aaf1c9d5d6b97fbed3af013aa1d3667"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7aaf1c9d5d6b97fbed3af013aa1d3667">&#9670;&#160;</a></span>ShiftSTDRSMatrix()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::ShiftSTDRSMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>DRS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a <a class="el" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices.">DenseSymMatrix</a> V, shift everything up one row and column, and fill the new entries as s_i^TDRs_j, where s are the vectors in the MultiVector S, and DRs are the vectors in DRS. </p>
<p>The entity that V points to at the call, is not changed - a new entity is created in the method and returned as V. </p>

</div>
</div>
<a id="a9ad1d47e72181bb14902c63acc4bc421" name="a9ad1d47e72181bb14902c63acc4bc421"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ad1d47e72181bb14902c63acc4bc421">&#9670;&#160;</a></span>RecalcY()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::RecalcY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>eta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>DR_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Ypart</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for recomputing Y from scratch, using Ypart (only for restoration phase) </p>

</div>
</div>
<a id="ae0eac7552f7fe11fc82fdc99fcdf4ae5" name="ae0eac7552f7fe11fc82fdc99fcdf4ae5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0eac7552f7fe11fc82fdc99fcdf4ae5">&#9670;&#160;</a></span>RecalcD()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::RecalcD </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>D</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for recomputing D from S and Y. </p>

</div>
</div>
<a id="a0451bacdfcdbe5eb509295279a3a03c6" name="a0451bacdfcdbe5eb509295279a3a03c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0451bacdfcdbe5eb509295279a3a03c6">&#9670;&#160;</a></span>RecalcL()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::RecalcL </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>S</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>L</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for recomputing L from S and Y. </p>

</div>
</div>
<a id="a4b1dfddf4b1e8a0ea7495e6fc6aaaf97" name="a4b1dfddf4b1e8a0ea7495e6fc6aaaf97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b1dfddf4b1e8a0ea7495e6fc6aaaf97">&#9670;&#160;</a></span>SplitEigenvalues()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::SplitEigenvalues </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &amp;&#160;</td>
          <td class="paramname"><em>Q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a> &amp;&#160;</td>
          <td class="paramname"><em>E</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Qminus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Qplus</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Split the eigenvectors into negative and positive ones. </p>
<p>Given the eigenvectors in Q and the eigenvalues (in ascending order) in, this returns Qminus as the negative eigenvectors times sqrt(-eval), and Qplus as the positive eigenvectors times sqrt(eval). If Qminus or Qplus is NULL, it means that there are no negative or positive eigenvalues, resp. Q might be changed during this call.</p>
<dl class="section return"><dt>Returns</dt><dd>true, if the ratio of the smallest over the largest eigenvalue (in absolute values) is too small; in that case, the update should be skipped. </dd></dl>

</div>
</div>
<a id="a0173e5e0e256e7ad2a8cff90a8fb6c37" name="a0173e5e0e256e7ad2a8cff90a8fb6c37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0173e5e0e256e7ad2a8cff90a8fb6c37">&#9670;&#160;</a></span>StoreInternalDataBackup()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::StoreInternalDataBackup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Store a copy of the pointers to the internal data (S, Y, D, L, SdotS, curr_lm_memory). </p>
<p>This is called in case the update is started but skipped during the process. </p>

</div>
</div>
<a id="a8e7c02278b58807cd441410d983e3fd0" name="a8e7c02278b58807cd441410d983e3fd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e7c02278b58807cd441410d983e3fd0">&#9670;&#160;</a></span>RestoreInternalDataBackup()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::RestoreInternalDataBackup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restore the copy of the pointers to the internal data most recently stored with <a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a0173e5e0e256e7ad2a8cff90a8fb6c37" title="Store a copy of the pointers to the internal data (S, Y, D, L, SdotS, curr_lm_memory).">StoreInternalDataBackup()</a>. </p>

</div>
</div>
<a id="a54a308c4b7b42628732d0fbf4b9081da" name="a54a308c4b7b42628732d0fbf4b9081da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54a308c4b7b42628732d0fbf4b9081da">&#9670;&#160;</a></span>SetW()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::LimMemQuasiNewtonUpdater::SetW </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Release anything that we allocated for StoreInternalDataBackup and is no longer needed. </p>
<p>Set the W field in IpData based on the current values of B0_, V_, and U_. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae651bfdde2b4bb371616d5427f474d92" name="ae651bfdde2b4bb371616d5427f474d92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae651bfdde2b4bb371616d5427f474d92">&#9670;&#160;</a></span>h_space_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1LowRankUpdateSymMatrixSpace.html">LowRankUpdateSymMatrixSpace</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::h_space_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> space for the low-rank Hessian approximation. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00076">76</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a7691d300542e71170c22ad81e4239bcd" name="a7691d300542e71170c22ad81e4239bcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7691d300542e71170c22ad81e4239bcd">&#9670;&#160;</a></span>limited_memory_max_history_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_max_history_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Size of memory for limited memory update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00081">81</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ac027f40e9a290f9a88c3e6762b919236" name="ac027f40e9a290f9a88c3e6762b919236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac027f40e9a290f9a88c3e6762b919236">&#9670;&#160;</a></span>limited_memory_update_type_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#acf19d439cad539ceeb80509f92873ad4">LMUpdateType</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_update_type_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Type of Hessian update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00091">91</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="aac2aa14e528872e28ca3d6604ba0efe2" name="aac2aa14e528872e28ca3d6604ba0efe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac2aa14e528872e28ca3d6604ba0efe2">&#9670;&#160;</a></span>limited_memory_initialization_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1LimMemQuasiNewtonUpdater.html#a84c23742ee6b01b50a0b1f82a5562dcc">LMInitialization</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_initialization_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>How to choose B0 in the low-rank update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00104">104</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ae8b4466052e132ff9b7061da84207984" name="ae8b4466052e132ff9b7061da84207984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8b4466052e132ff9b7061da84207984">&#9670;&#160;</a></span>limited_memory_init_val_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_init_val_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Value of B0 (as this multiple of the identity in certain situations). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00107">107</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a0eafabd79b2d948ed4813cd3f31d057e" name="a0eafabd79b2d948ed4813cd3f31d057e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0eafabd79b2d948ed4813cd3f31d057e">&#9670;&#160;</a></span>limited_memory_max_skipping_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_max_skipping_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of successive iterations of skipped updates after which the approximation is reset. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00112">112</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a4fb9adbe06533616e20acfc2ca9c7290" name="a4fb9adbe06533616e20acfc2ca9c7290"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fb9adbe06533616e20acfc2ca9c7290">&#9670;&#160;</a></span>sigma_safe_min_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::sigma_safe_min_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Minimal safeguard value for sigma. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00115">115</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a7d1969f74155d500554244b60f3a6d0e" name="a7d1969f74155d500554244b60f3a6d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d1969f74155d500554244b60f3a6d0e">&#9670;&#160;</a></span>sigma_safe_max_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::sigma_safe_max_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Maximal safeguard value for sigma. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00118">118</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a85614a07d4b5c236be90edb2c3f8ec96" name="a85614a07d4b5c236be90edb2c3f8ec96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85614a07d4b5c236be90edb2c3f8ec96">&#9670;&#160;</a></span>limited_memory_special_for_resto_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::limited_memory_special_for_resto_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating if Hessian approximation should be done in a special manner for the restoration phase. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00123">123</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a5bf884f069d635a28721132018e82408" name="a5bf884f069d635a28721132018e82408"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bf884f069d635a28721132018e82408">&#9670;&#160;</a></span>update_for_resto_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::update_for_resto_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating if the update is to be done for the original <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a> or for the restoration phase <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a>. </p>
<p>In the latter case, we are performing a "structured" update, taking into account the first explicit term in the objective function of the form eta*D_r*x_k. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00133">133</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="aef0116647ec48e237647d97ab4652d5b" name="aef0116647ec48e237647d97ab4652d5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef0116647ec48e237647d97ab4652d5b">&#9670;&#160;</a></span>last_eta_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::last_eta_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Most recent value for eta in the restoration phase objective function (only for update_for_resto_ = true) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00138">138</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="af91acff1d8121c05414463d5ff29c5a3" name="af91acff1d8121c05414463d5ff29c5a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af91acff1d8121c05414463d5ff29c5a3">&#9670;&#160;</a></span>curr_DR_x_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::curr_DR_x_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Current DR_x scaling factors in the restoration phase objective function (only for update_for_resto_ = true). </p>
<p>This should not change throughout one restoration phase. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00145">145</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a7d14331c82d5cb7136fcb6a224131cf1" name="a7d14331c82d5cb7136fcb6a224131cf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d14331c82d5cb7136fcb6a224131cf1">&#9670;&#160;</a></span>curr_DR_x_tag_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">TaggedObject::Tag</a> Ipopt::LimMemQuasiNewtonUpdater::curr_DR_x_tag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tag for curr_DR_x_. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00148">148</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a5d1d56994acb3a1c934f4b73d96ffd3e" name="a5d1d56994acb3a1c934f4b73d96ffd3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d1d56994acb3a1c934f4b73d96ffd3e">&#9670;&#160;</a></span>curr_red_DR_x_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::curr_red_DR_x_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Current DR_x scaling factors in the restoration phase objective function in the smaller space for the approximation. </p>
<p>This is only computed if the space is indeed smaller than the x space (only for update_for_resto_ = true) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00156">156</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a789105608badbec4cef9a15812443cbe" name="a789105608badbec4cef9a15812443cbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a789105608badbec4cef9a15812443cbe">&#9670;&#160;</a></span>curr_eta_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::curr_eta_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Current value of weighing factor eta in the restoration phase objective function (only for update_for_resto_ = true) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00161">161</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a0f764363028359f79e527e895df21f1a" name="a0f764363028359f79e527e895df21f1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f764363028359f79e527e895df21f1a">&#9670;&#160;</a></span>lm_skipped_iter_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::LimMemQuasiNewtonUpdater::lm_skipped_iter_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Counter for successive iterations in which the update was skipped. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00164">164</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ac6d2c7e8ceee3996c32041e7eb91bb89" name="ac6d2c7e8ceee3996c32041e7eb91bb89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6d2c7e8ceee3996c32041e7eb91bb89">&#9670;&#160;</a></span>curr_lm_memory_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::LimMemQuasiNewtonUpdater::curr_lm_memory_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current size of limited memory </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00169">169</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a2ebe9543568ffdbe356e98274b2fc3af" name="a2ebe9543568ffdbe356e98274b2fc3af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebe9543568ffdbe356e98274b2fc3af">&#9670;&#160;</a></span>S_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::S_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>s pairs for the recent iterations </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00172">172</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ae49f592101f43a0a489f37ef359c4195" name="ae49f592101f43a0a489f37ef359c4195"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae49f592101f43a0a489f37ef359c4195">&#9670;&#160;</a></span>Y_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::Y_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>y pairs for the recent iterations. </p>
<p>If update_for_resto is true, then this includes only the information for the constraints. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00179">179</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a4efc34f9ef1c16571408ffc1dcf72fc4" name="a4efc34f9ef1c16571408ffc1dcf72fc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4efc34f9ef1c16571408ffc1dcf72fc4">&#9670;&#160;</a></span>Ypart_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::Ypart_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For restoration phase update: Y without the quadratic objective function part. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00184">184</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a9b72dba39efe0d8d3bc8c0f0e5ab02f1" name="a9b72dba39efe0d8d3bc8c0f0e5ab02f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b72dba39efe0d8d3bc8c0f0e5ab02f1">&#9670;&#160;</a></span>D_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::D_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Diagonal elements D_k for compact formulation from last update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00189">189</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ac3090910f99df48d7a85a634fe10a2e6" name="ac3090910f99df48d7a85a634fe10a2e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3090910f99df48d7a85a634fe10a2e6">&#9670;&#160;</a></span>L_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::L_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> L_k for compact formulation from last update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00192">192</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="af787d841edfa76c8c1165f11dca07bce" name="af787d841edfa76c8c1165f11dca07bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af787d841edfa76c8c1165f11dca07bce">&#9670;&#160;</a></span>B0_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::B0_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>First term (starting matrix) for the approximation. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00195">195</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a50a027bad36194279b6877357fd29e3c" name="a50a027bad36194279b6877357fd29e3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50a027bad36194279b6877357fd29e3c">&#9670;&#160;</a></span>sigma_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::sigma_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>First term (starting matrix) for the approximation. </p>
<p>If that first terms is a multiple of the identy, sigma give that factor. Otherwise sigma = -1. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00202">202</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a7f8b925b94d06ceccede4513b309d629" name="a7f8b925b94d06ceccede4513b309d629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f8b925b94d06ceccede4513b309d629">&#9670;&#160;</a></span>V_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::V_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>V in LowRankUpdateMatrix from last update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00205">205</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a69a2e525766120cdacc3cfbbdb502f34" name="a69a2e525766120cdacc3cfbbdb502f34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69a2e525766120cdacc3cfbbdb502f34">&#9670;&#160;</a></span>U_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::U_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>U in LowRankUpdateMatrix from last update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00208">208</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a4fd9e1fe9182db0b989ad43d64702c68" name="a4fd9e1fe9182db0b989ad43d64702c68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fd9e1fe9182db0b989ad43d64702c68">&#9670;&#160;</a></span>SdotS_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::SdotS_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For efficient implementation, we store the pairwise products for s's. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00213">213</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="aea28b939b4b61b5abd237fe996610d09" name="aea28b939b4b61b5abd237fe996610d09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea28b939b4b61b5abd237fe996610d09">&#9670;&#160;</a></span>SdotS_uptodate_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::SdotS_uptodate_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether SdotS_ is update to date from most recent update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00218">218</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ae1c6509f6a9dcc6f6ae478ad397a5ab1" name="ae1c6509f6a9dcc6f6ae478ad397a5ab1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1c6509f6a9dcc6f6ae478ad397a5ab1">&#9670;&#160;</a></span>DRS_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::DRS_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>DR * S (only for restoration phase) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00221">221</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a05d855c245f0623a9aca28c3aa5ac14f" name="a05d855c245f0623a9aca28c3aa5ac14f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05d855c245f0623a9aca28c3aa5ac14f">&#9670;&#160;</a></span>STDRS_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::STDRS_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For efficient implementation, we store the S^T S DR * S. </p>
<p>Only for restoration phase. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00227">227</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ad6c924d457bfb616a2f11e6129dc25a1" name="ad6c924d457bfb616a2f11e6129dc25a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6c924d457bfb616a2f11e6129dc25a1">&#9670;&#160;</a></span>last_x_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::last_x_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Primal variables x from most recent update. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00230">230</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a8c01dfe9191fbd2bdae013541a07adf1" name="a8c01dfe9191fbd2bdae013541a07adf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c01dfe9191fbd2bdae013541a07adf1">&#9670;&#160;</a></span>last_grad_f_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::last_grad_f_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gradient of objective function w.r.t. </p>
<p>x at x_last_ </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00233">233</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a0b6ea6fbd20cbd6a907d2037727407d8" name="a0b6ea6fbd20cbd6a907d2037727407d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b6ea6fbd20cbd6a907d2037727407d8">&#9670;&#160;</a></span>last_jac_c_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::last_jac_c_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Jacobian for equality constraints w.r.t x at x_last. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00236">236</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a39cde08934dec5c9d07ee60bd9f894dc" name="a39cde08934dec5c9d07ee60bd9f894dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39cde08934dec5c9d07ee60bd9f894dc">&#9670;&#160;</a></span>last_jac_d_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::last_jac_d_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Jacobian for inequality constraints w.r.t x at x_last. </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00239">239</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="af68441d4e1f531996c893ef537aefdd2" name="af68441d4e1f531996c893ef537aefdd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af68441d4e1f531996c893ef537aefdd2">&#9670;&#160;</a></span>curr_lm_memory_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::LimMemQuasiNewtonUpdater::curr_lm_memory_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>current size of limited memory </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00242">242</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ae39f3dcffe0149d85a578ecea3713ada" name="ae39f3dcffe0149d85a578ecea3713ada"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae39f3dcffe0149d85a578ecea3713ada">&#9670;&#160;</a></span>S_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::S_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>s pairs for the recent iterations (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00245">245</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a6b3a8ff337019f44b57d51ef4ab768a1" name="a6b3a8ff337019f44b57d51ef4ab768a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b3a8ff337019f44b57d51ef4ab768a1">&#9670;&#160;</a></span>Y_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::Y_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>y pairs for the recent iterations. </p>
<p>If update_for_resto is true, then this includes only the information for the constraints. (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00252">252</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a1234b1ef46ef754744118ed65474489a" name="a1234b1ef46ef754744118ed65474489a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1234b1ef46ef754744118ed65474489a">&#9670;&#160;</a></span>Ypart_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::Ypart_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For restoration phase update: Y without the quadratic objective function part (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00256">256</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a6b970b7904a109e21d61de28fd24f228" name="a6b970b7904a109e21d61de28fd24f228"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b970b7904a109e21d61de28fd24f228">&#9670;&#160;</a></span>D_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseVector.html">DenseVector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::D_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Diagonal elements D_k for compact formulation from last update (backup). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00260">260</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ab7bf7ad4de5fb03834605c0b30bcad00" name="ab7bf7ad4de5fb03834605c0b30bcad00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7bf7ad4de5fb03834605c0b30bcad00">&#9670;&#160;</a></span>L_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseGenMatrix.html">DenseGenMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::L_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> L_k for compact formulation from last update (backup). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00263">263</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a7265d340c5f6d6e644d63377eec4b156" name="a7265d340c5f6d6e644d63377eec4b156"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7265d340c5f6d6e644d63377eec4b156">&#9670;&#160;</a></span>B0_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::B0_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>First term (starting matrix) for the approximation (backup). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00266">266</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="aa17edd63f7905cec9abfa8d8d592009c" name="aa17edd63f7905cec9abfa8d8d592009c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa17edd63f7905cec9abfa8d8d592009c">&#9670;&#160;</a></span>sigma_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::LimMemQuasiNewtonUpdater::sigma_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>First term (starting matrix) for the approximation. </p>
<p>If that first terms is a multiple of the identy, sigma give that factor. Otherwise sigma = -1. (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00273">273</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="afc1b44ee463310533e3412c274d134ed" name="afc1b44ee463310533e3412c274d134ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc1b44ee463310533e3412c274d134ed">&#9670;&#160;</a></span>V_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::V_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>V in LowRankUpdateMatrix from last update (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00276">276</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ad98d84977d553282814871f362b61d52" name="ad98d84977d553282814871f362b61d52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad98d84977d553282814871f362b61d52">&#9670;&#160;</a></span>U_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::U_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>U in LowRankUpdateMatrix from last update (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00279">279</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a0687e0f7dda8f9a396c81435d0572137" name="a0687e0f7dda8f9a396c81435d0572137"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0687e0f7dda8f9a396c81435d0572137">&#9670;&#160;</a></span>SdotS_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::SdotS_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For efficient implementation, we store the pairwise products for s's (backup). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00284">284</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a6d0dec49277cc4359cdd40a8c4923ec2" name="a6d0dec49277cc4359cdd40a8c4923ec2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0dec49277cc4359cdd40a8c4923ec2">&#9670;&#160;</a></span>SdotS_uptodate_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::LimMemQuasiNewtonUpdater::SdotS_uptodate_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flag indicating whether SdotS_ is update to date from most recent update (backup). </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00289">289</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="a6a2281c42f2dec342bf32ada3454815f" name="a6a2281c42f2dec342bf32ada3454815f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a2281c42f2dec342bf32ada3454815f">&#9670;&#160;</a></span>DRS_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1MultiVectorMatrix.html">MultiVectorMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::DRS_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>DR * S (only for restoration phase) (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00292">292</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<a id="ae13a4b50d8d9c7d22b115bc31e3c72c5" name="ae13a4b50d8d9c7d22b115bc31e3c72c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae13a4b50d8d9c7d22b115bc31e3c72c5">&#9670;&#160;</a></span>STDRS_old_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1DenseSymMatrix.html">DenseSymMatrix</a>&gt; Ipopt::LimMemQuasiNewtonUpdater::STDRS_old_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>For efficient implementation, we store the S^T S DR * S. </p>
<p>Only for restoration phase. (backup) </p>

<p class="definition">Definition at line <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html#l00298">298</a> of file <a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Algorithm/<a class="el" href="IpLimMemQuasiNewtonUpdater_8hpp_source.html">IpLimMemQuasiNewtonUpdater.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
